komut seviyesi paralellik ne demek?

Komut Seviyesi Paralellik (KLP), bir bilgisayar programının içindeki bireysel komutların aynı anda yürütülme yeteneğidir. Kısaca, işlemcinin bir döngüde birden fazla komutu tamamlayabilme yeteneğidir. KLP'nin amacı, programların yürütme hızını artırmaktır.

Temel Kavramlar:

  • Boru Hattı (Pipelining): Komutların ardışık aşamalarda işlenmesi. Bir komutun bir aşaması tamamlandığında, bir sonraki komut o aşamaya alınır.

  • Süperscalar Mimari: Birden fazla komutun aynı anda yürütülmesi için birden fazla fonksiyonel birimin (örneğin, ALU, FPU) kullanılması.

  • Dallanma Tahmini (Branch Prediction): Programdaki dallanmaların sonucunu tahmin ederek, işlemcinin doğru komutları getirmeye devam etmesini sağlar. Yanlış tahmin durumunda, işlemci hatalı tahminin etkilerini geri almak zorundadır.

  • Spekülatif Yürütme (Speculative Execution): Dallanma tahminine dayanarak, sonuçların doğru olup olmadığı kesinleşmeden komutların yürütülmesine devam edilmesi.

  • Komut Yeniden Sıralama (Out-of-Order Execution): Komutların programdaki sıralamalarından farklı bir sırada yürütülmesi. Bu, veri bağımlılıkları olmayan komutların, diğer komutların tamamlanmasını beklemeden yürütülmesini sağlar.

KLP'yi Sınırlayan Faktörler:

  • Veri Bağımlılıkları (Data Dependencies): Bir komutun sonucunun, başka bir komutun girdisi olarak kullanılması durumu.
  • Kontrol Bağımlılıkları (Control Dependencies): Bir komutun yürütülüp yürütülmeyeceğinin, önceki bir komutun sonucuna bağlı olması durumu.
  • Kaynak Bağımlılıkları (Resource Dependencies): Birden fazla komutun aynı anda aynı donanım kaynağını (örneğin, ALU) kullanmaya çalışması durumu.

Kategoriler